package com.gwt.dispatcher.dispatcher.shared.services;


import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
import com.gwt.dispatcher.dispatcher.shared.Action;
import com.gwt.dispatcher.dispatcher.shared.Result;
import com.gwt.dispatcher.dispatcher.shared.exceptions.ActionHandlerException;
import com.gwt.dispatcher.dispatcher.shared.exceptions.DispatchException;
import com.gwt.dispatcher.dispatcher.shared.exceptions.UnknownApplicationException;

@RemoteServiceRelativePath("serverDispatcher")
public interface ServerDispatcher extends RemoteService {

	public <T extends Result> T execute(Action<T> action) throws DispatchException, UnknownApplicationException, ActionHandlerException;
	
}
